Mapping applications have become invaluable tools for traveling. These applications are often integrated into smart phones, tablet computer, and in-vehicle navigation systems. Typically, a user of a mapping application enters an origin address and a destination address into the mapping application, and the mapping application presents the user with a route between the origin address and the destination address that the user can travel to reach the destination. Where the mapping application is part of a smart phone, or integrated into a vehicle, the mapping application may use a GPS (or other location sensor) to provide real-time directions to the user based on the route.
While such mapping applications are useful, there are several drawbacks associated with mapping applications. One such drawback is that they limit the ability of the user to customize the route that is presented for an origin address and a destination address. For example, a user traveling between an origin address such as New York and a destination address such as San Francisco, may desire a route that first travels down the east coast of the United States, heads west along the southern border to California, and then travels north to San Francisco along the Pacific Ocean. However, when the user enters New York and San Francisco into the mapping application, they are presented with the shortest route, rather than their desired route.
While some mapping applications allow the user to customize a route by adding “waypoints” or intermediate destinations, adding such intermediate locations can be time consuming, especially where the desired route differs significantly from the optimal or shortest route.